package leetcode_0242

import "reflect"

func isAnagram(s string, t string) bool {

	// 长度不同，返回false
	if len(s) != len(t) {
		return false
	}

	mapS, mapT := map[byte]int{}, map[byte]int{}

	// 循环s
	for i := 0; i < len(s); i++ {
		if _, ok := mapS[s[i]]; ok {
			mapS[s[i]]++
		} else {
			mapS[s[i]] = 1
		}
	}

	// 循环t
	for i := 0; i < len(t); i++ {
		if _, ok := mapS[t[i]]; ok {
			mapT[t[i]]++
		} else {
			mapT[t[i]] = 1
		}
	}

	// map不同则返回false
	if !reflect.DeepEqual(mapS, mapT) {
		return false
	}

	return true
}
